/**
 * @(#)ProcessLogQueryObject.java Jan 5, 2010
 *   
 * Copyright  (c) 2009-2010 Wilmar IT Service,  Inc.   
 * All  rights  reserved.   
 * TODO
 */

package com.wilmar.process.entity.query;

import java.util.Date;

import com.wilmar.process.entity.User;
import com.wilmar.process.enumerate.EnumProcessLogLevel;

/**
 * 日志查询条件实体
 * 
 * @author makubex Email:makubexnet@gmail.com
 * @version 1.0.0
 */
public class ProcessLogQueryObject extends QueryObject {

	/**
	 * @serialField
	 */
	private static final long serialVersionUID = 3336324247633609379L;

	private String[] processInstanceId;
	private String[] processDefinitionName;
	private String[] processDefinitionKey;
	private String[] instanceStarter;
	private Date minEnterTime;
	private Date maxEnterTime;
	private Date minLeaveTime;
	private Date maxLeaveTime;
	private String[] outSystem;
	private String[] taskInstanceId;
	private EnumProcessLogLevel[] logLevel;
	private EnumProcessLogLevel minLogLevel;
	private boolean startLog = false;
	private User[] operators;

	public void setProcessDefinitionName(String processDefinitionName) {
		this.processDefinitionName = new String[] { processDefinitionName };
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = new String[] { processInstanceId };
	}

	public void setOutSystem(String outSystem) {
		this.outSystem = new String[] { outSystem };
	}

	public void setTaskInstanceId(String taskInstanceId) {
		this.taskInstanceId = new String[] { taskInstanceId };
	}

	public void setInstanceStarter(String instanceStarter) {
		this.instanceStarter = new String[] { instanceStarter };
	}

	public void setLogLevel(EnumProcessLogLevel logLevel) {
		this.logLevel = new EnumProcessLogLevel[] { logLevel };
	}

	public void setOerators(User operator) {
		this.operators = new User[] { operator };
	}

	/**
	 * @return the processInstanceId
	 */
	public String[] getProcessInstanceId() {
		return processInstanceId;
	}

	/**
	 * @param processInstanceId
	 *            the processInstanceId to set
	 */
	public void setProcessInstanceId(String[] processInstanceId) {
		this.processInstanceId = processInstanceId;
	}

	/**
	 * @return the processDefinitionName
	 */
	public String[] getProcessDefinitionName() {
		return processDefinitionName;
	}

	/**
	 * @param processDefinitionName
	 *            the processDefinitionName to set
	 */
	public void setProcessDefinitionName(String[] processDefinitionName) {
		this.processDefinitionName = processDefinitionName;
	}

	/**
	 * @return the instanceStarter
	 */
	public String[] getInstanceStarter() {
		return instanceStarter;
	}

	/**
	 * @param instanceStarter
	 *            the instanceStarter to set
	 */
	public void setInstanceStarter(String[] instanceStarter) {
		this.instanceStarter = instanceStarter;
	}

	/**
	 * @return the minEnterTime
	 */
	public Date getMinEnterTime() {
		return minEnterTime;
	}

	/**
	 * @param minEnterTime
	 *            the minEnterTime to set
	 */
	public void setMinEnterTime(Date minEnterTime) {
		this.minEnterTime = minEnterTime;
	}

	/**
	 * @return the maxEnterTime
	 */
	public Date getMaxEnterTime() {
		return maxEnterTime;
	}

	/**
	 * @param maxEnterTime
	 *            the maxEnterTime to set
	 */
	public void setMaxEnterTime(Date maxEnterTime) {
		this.maxEnterTime = maxEnterTime;
	}

	/**
	 * @return the outSystem
	 */
	public String[] getOutSystem() {
		return outSystem;
	}

	/**
	 * @param outSystem
	 *            the outSystem to set
	 */
	public void setOutSystem(String[] outSystem) {
		this.outSystem = outSystem;
	}

	/**
	 * @return the taskInstanceId
	 */
	public String[] getTaskInstanceId() {
		return taskInstanceId;
	}

	/**
	 * @param taskInstanceId
	 *            the taskInstanceId to set
	 */
	public void setTaskInstanceId(String[] taskInstanceId) {
		this.taskInstanceId = taskInstanceId;
	}

	/**
	 * @return the logLevel
	 */
	public EnumProcessLogLevel[] getLogLevel() {
		return logLevel;
	}

	/**
	 * @param logLevel
	 *            the logLevel to set
	 */
	public void setLogLevel(EnumProcessLogLevel[] logLevel) {
		this.logLevel = logLevel;
	}

	/**
	 * @return the minLogLevel
	 */
	public EnumProcessLogLevel getMinLogLevel() {
		return minLogLevel;
	}

	/**
	 * @param minLogLevel
	 *            the minLogLevel to set
	 */
	public void setMinLogLevel(EnumProcessLogLevel minLogLevel) {
		this.minLogLevel = minLogLevel;
	}

	/**
	 * @return the startLog
	 */
	public boolean isStartLog() {
		return startLog;
	}

	/**
	 * @param startLog
	 *            the startLog to set
	 */
	public void setStartLog(boolean startLog) {
		this.startLog = startLog;
	}

	/**
	 * @return the operators
	 */
	public User[] getOperators() {
		return operators;
	}

	/**
	 * @param operators
	 *            the operators to set
	 */
	public void setOperators(User[] operators) {
		this.operators = operators;
	}

	/**
	 * @return the processDefinitionKey
	 */
	public String[] getProcessDefinitionKey() {
		return processDefinitionKey;
	}

	/**
	 * @param processDefinitionKey the processDefinitionKey to set
	 */
	public void setProcessDefinitionKey(String[] processDefinitionKey) {
		this.processDefinitionKey = processDefinitionKey;
	}

	/**
	 * @return the minLeaveTime
	 */
	public Date getMinLeaveTime() {
		return minLeaveTime;
	}

	/**
	 * @param minLeaveTime the minLeaveTime to set
	 */
	public void setMinLeaveTime(Date minLeaveTime) {
		this.minLeaveTime = minLeaveTime;
	}

	/**
	 * @return the maxLeaveTime
	 */
	public Date getMaxLeaveTime() {
		return maxLeaveTime;
	}

	/**
	 * @param maxLeaveTime the maxLeaveTime to set
	 */
	public void setMaxLeaveTime(Date maxLeaveTime) {
		this.maxLeaveTime = maxLeaveTime;
	}

}
